package com.xxxtea.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xxxtea.entity.ChatSession;

/**
 * 聊天会话数据访问接口
 * 
 * 继承MyBatis-Plus的BaseMapper，提供聊天会话相关的数据库操作功能，包括：
 * - 基础的CRUD操作（通过BaseMapper提供）
 * - 自定义查询方法
 * 
 * 主要功能：
 * - 聊天会话的增删改查
 * - 根据用户ID和目标用户ID查找会话
 * - 支持不同业务类型的会话管理
 * 
 * @author badman
 * @since 1.0.0
 */
public interface ChatSessionMapper extends BaseMapper<ChatSession> {

	/**
	 * 查找聊天会话
	 * 
	 * 根据用户ID、目标用户ID、业务ID和业务类型查找对应的聊天会话
	 * 
	 * @param userId 当前用户ID
	 * @param targetUserId 目标用户ID
	 * @param businessId 业务ID（如商品ID、订单ID等）
	 * @param businessType 业务类型（如商品咨询、订单咨询等）
	 * @return 找到的聊天会话对象，如果不存在则返回null
	 */
	ChatSession findSession(Integer userId, Integer targetUserId, Integer businessId, Integer businessType);
}
